package models

import (
	"time"

	"gorm.io/gorm"
)

type Admin struct {
	ID        uint      `gorm:"primaryKey" json:"id"`
	Username  string    `gorm:"size:50;unique;not null" json:"username"`
	Password  string    `gorm:"size:100;not null" json:"password"`
	Avatar    string    `gorm:"size:255" json:"avatar"` // 可为空
	CreatedAt time.Time `gorm:"column:created_at;type:datetime" json:"created_at"`
	Gender    int       `gorm:"default:2" json:"gender"` // 性别，默认值为2
	Phone     string    `gorm:"size:11" json:"phone"`    // 手机号
	Email     string    `gorm:"size:255" json:"email"`   // 邮箱
	Profile   string    `gorm:"size:255" json:"profile"` // 个人简介
}

func (a *Admin) BeforeCreate(tx *gorm.DB) (err error) {
	if a.CreatedAt.IsZero() {
		a.CreatedAt = time.Now()
	}
	return nil
}

// TableName 指定表名
func (Admin) TableName() string {
	return "admin"
}
